package com.iwhalecloud.bss.kite.cucc.client.api.order;

import com.github.pagehelper.PageInfo;
import com.iwhalecloud.bss.kite.cucc.client.dto.cust.CuccContextCustDTO;
import com.iwhalecloud.bss.kite.cucc.client.dto.order.ContractDTO;
import com.iwhalecloud.bss.kite.cucc.client.dto.order.ContractInfosDTO;
import com.iwhalecloud.bss.kite.cucc.client.dto.order.ContractRequestDTO;
import com.iwhalecloud.bss.kite.cucc.client.dto.order.ContractSimpleDTO;
import com.iwhalecloud.bss.kite.cucc.client.dto.order.DownloadIncludeDataDTO;
import com.iwhalecloud.bss.kite.cucc.client.dto.webService.CustContractRsp;

public interface IContractService {

    /**
     *
     * @param custId
     *            客户ID
     * @param contractNo
     *            合同编码
     * @param contractName
     *            合同名称
     * @return 合同号查询 备注:去集客查询,将编码改成小写
     */
    PageInfo<ContractDTO> queryContractByCustId(String custId, String contractNo, String contractName, int pageNum,
            int pageSize);

    /**
     * 受理单上传
     *
     * @param contractParam
     * @return
     */

    ContractSimpleDTO createAndUploadContract(ContractRequestDTO contractRequestDTO);

    /**
     * 受理单下载
     *
     * @param downloadIncludeDataParam
     * @return
     */
    DownloadIncludeDataDTO downloadIncludeData(String goodsCode, String categroyCode, String sceneInstId,
            String staffId, String orgId, CuccContextCustDTO custDto);

    String queryContractType(String cataId);

    /**
     * 合同信息-存量合同查询
     * @param custId 必填
     * @param contractNo
     * @param contractName
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<CustContractRsp>   queryContractInfoByCustId(String custId, String contractNo, String contractName,
        String dataCode, String provinceCode, int pageNum, int pageSize,String cateId);

}
